from multiprocessing import  Process, Value

#建立通信——共享内存
value = Value('i', 3000)  #括号内，第一参数是数组类型（同上），第二参数是值，例：c=Value('i', 2)=>print(c.value)=>2

#对同类进行封装
class wash:
    price =3000

#具体处理细节
def ggl(i,value):   #注意：需要传入共享内存参数result
    w=wash()
    print(f'value id:{id(value)}')
    value.value +=21
#共享内存的处理放在处理细节中


#启用进程
if __name__ =='__main__':
#建立多进程
    h=[]
    for i in range(12):
        #p =Process(target=ggl, args=(i, result))  #args=后面接元组,不传入共享内存参数，无法正确存入数据
        p = Process(target=ggl, args=(i, value))
        #print(i)
        p.start()
        h.append(p)
#join加在多进程中

             #进程在前面，进程完成后，在执行后面语句
    for i in h:
        i.join()
        print(value.value)     #结果显示，子进程都对value值进行了修改

    print(value.value)